const { contextBridge, ipcRenderer } = require('electron');

// 安全的API暴露给渲染进程
contextBridge.exposeInMainWorld('electronAPI', {
    // 渲染器向主进程的双向调用，需使用await等待返回值
    invoke: (channel, data=null) => ipcRenderer.invoke(channel, data),
    // 渲染器向主进程的单项调用，无返回值
    send: (channel, data=null) => ipcRenderer.send(channel, data),
    // 在渲染器上注册事件，监听来自主进程的消息
    onReceive: (channel, callback) => ipcRenderer.on(channel, (event, ...args) => callback(...args)),
});
